﻿using SD.Infrastructure.DTOBase;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace SlamDunk.MES.IAppService.DTOs.Outputs.FoundationContext
{
    /// <summary>
    /// 计量单位数据传输对象
    /// </summary>
    [DataContract]
    public class MeasureUnitInfo : BaseDTO
    {
        #region 主计量单位转换系数 —— decimal? MasterCoefficient
        /// <summary>
        /// 主计量单位转换系数
        /// </summary>
        /// <remarks>
        /// 当前计量单位 * 主计量单位转换系数 = 主计量单位
        /// </remarks>
        [DataMember]
        public decimal? MasterCoefficient { get; set; }
        #endregion

        #region 计量单位转换系数字典 —— {string, decimal?} Coefficients
        /// <summary>
        /// 计量单位转换系数字典
        /// </summary>
        /// <remarks>
        /// 键：计量单位编号，值：转换系数
        /// 当前计量单位 * 值 = 目标计量单位
        /// </remarks>
        [DataMember]
        public IDictionary<string, decimal?> Coefficients { get; set; }
        #endregion

        #region 是否主计量单位 —— bool IsMaster
        /// <summary>
        /// 是否主计量单位
        /// </summary>
        [DataMember]
        public bool IsMaster { get; set; }
        #endregion

        #region 排序 —— int Sort
        /// <summary>
        /// 排序
        /// </summary>
        [DataMember]
        public int Sort { get; set; }
        #endregion

        #region 描述 —— string Description
        /// <summary>
        /// 描述
        /// </summary>
        [DataMember]
        public string Description { get; set; }
        #endregion
    }
}
